package com.landiao.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.landiao.common.pojo.CategoryInfo;
import com.landiao.common.pojo.EmployeeReport;
import com.landiao.common.pojo.Page;
import com.landiao.entities.Employee;

public interface EmployeeMapper extends BaseMapper<Employee,String>{
	Employee getByAccountAndPassword(@Param("account")String account,@Param("passwd")String passwd);
    int deleteByPrimaryKey(String employeeId);

    int insert(Employee record);

    int insertSelective(Employee record);

    Employee selectByPrimaryKey(String employeeId);

    int updateByPrimaryKeySelective(Employee record);

    int updateByPrimaryKey(Employee record);
    
	Employee selectByAccount(String account);
	
	List<Employee> selectByShopId(@Param("shopId")String shopId,@Param("hasOperId")boolean hasOperId);
	
	Employee selectByOperId(String operId);
	
	List<Employee> selectByShopIdAndRole(@Param("shopId")String shopId,@Param("roleId")String roleId);
	/**
	 * 通过类别id获取该门店该类别的总营业额
	 */
	CategoryInfo getCategoryInfo(EmployeeReport t);
	String getCategoryAmount(EmployeeReport t);
	/**
	 * 获取门店总业绩
	 * @param t
	 * @return
	 */
	String getShopResults(EmployeeReport t);
	/**
	 * 获取门店外买总业绩
	 * @param t
	 * @return
	 */
	String getShopOutResults(EmployeeReport t);
	
	List<EmployeeReport> getReportList(@Param("t")EmployeeReport t);
	/**
	 * 获取门店项目总业绩
	 * @param t
	 * @return
	 */
	String getShopServiceResults(EmployeeReport t);
	/**
	 * 通过类别id获取该门店该类别的总数
	 * @param t
	 * @return
	 */
	Integer getCategoryCount(EmployeeReport t);
	/**
	 * 通过门店id，起始日期，截止日期获取各个项目类别的信息
	 * @param t
	 * @return
	 */
	List<EmployeeReport> getEmployeeReportCategory(@Param("t")EmployeeReport t);
	/**
	 * 通过门店id，类别id，起始日期，截止日期获取该类别的项目信息
	 * @param t
	 * @return
	 */
	List<EmployeeReport> getEmployeeReportByCategoryId(@Param("t")EmployeeReport t);
	/**
	 * 通过门店id，起始日期，截止日期获取各个商品类别的信息
	 * @param t
	 * @return
	 */
	List<EmployeeReport> getEmployeeReportMdseCategory(@Param("t")EmployeeReport t);
	/**
	 * 通过门店id，类别id，起始日期，截止日期获取该类别的商品信息
	 * @param t
	 * @return
	 */
	List<EmployeeReport> getEmployeeReportByMdseCategoryId(@Param("t")EmployeeReport t);
	/**
	 * 起始日期，截止日期获取所有门店统计信息
	 * @param t
	 * @return
	 */
	List<EmployeeReport> getShopReportList(@Param("t")EmployeeReport t);
	/**
	 * 获取员工外卖业绩和提成
	 * @param t
	 * @return
	 */
	List<EmployeeReport> getWageReport(@Param("t")EmployeeReport t);
	
}